A graphical user interface (GUI) is an interface to a computer software application that takes advantage of graphical capabilities of computer systems. A GUI typically includes various elements that display information to and/or receive input from a user. GUI elements are sometimes referred to as widgets and may include custom user interface components or standard components such as, for example, scroll bars, push buttons, check boxes, radio buttons, and text panes. Most computer software applications available today provide GUIs to efficiently interact with users.
GUIs are particularly useful in displaying graphical representations of data. For example, a table of numbers may be displayed graphically using various techniques including bar charts, scatter plots, and line graphs. These graphical representations assist users in visualizing the data to more easily recognize trends and analyze patterns within the data. Because plotting and charting data is a recurring task in GUI design, graphing widgets have been created to provide an easy mechanism to incorporate graphing functionality into a software application.
In an enterprise application storing various business data, it may be desirable to present graphical displays of the data. A graphing widget may be used to create and display bar charts or any other chart corresponding to the business data. For example, a business that distributes bulk mailings may have extensive mailing lists stored in an enterprise application. To better understand customers on the mailing lists, it may be desirable to view graphical depictions of various data using a graphing widget. For example, the business data may include the birth date of each customer on the mailing lists. To better understand customer demographics, a user may view a bar graph of the birth dates with each year shown on the horizontal axis and the number of customers born in that year shown on the vertical axis. A graphing widget typically calculates a default scale for the bar graph based on the minimum and maximum values so that all of the data may be viewed on the graph at one time.
Sometimes the scale of a graph or chart makes the data difficult to analyze, particularly when there are great differences between values in a dimension of the graph or chart. Consider for example, a bar graph illustrating the number of customers within a given country. If 95% of the customers are from a single country, then a bar chart showing the countries versus the number of customers in each country would include one very large bar and possibly many smaller bars. In such a graph, the vertical scale typically is sized such that the large bar representing 95% of the customers will fit on the screen. The remaining bars in the bar graph are substantially smaller, making it difficult to view any variations between them. One remedy to this problem is to rescale the bar graph to increase the variations between bars in the graph. Graphing widgets may include a window that allows a user to adjust various display parameters including the horizontal and vertical scales, and the minimum and maximum values. By modifying the scales, minimums, and maximums, a user may optimize the visual graphical display to best illustrate various characteristics of the data.